﻿using System;
using System.Xml.Linq;

namespace CodeSandbox.Contracts
{
    public interface ISandbox:ILogger, IExecutor,IValidator, IHelper, IDisposable, ILogData
    {
        /// <summary>
        /// 
        /// </summary>
        IValidator Ensure { get; }


        /// <summary>
        /// 
        /// </summary>
        IHelper Help { get; }

        /// <summary>
        /// 
        /// </summary>
        IExecutor Kick { get; }

        /// <summary>
        /// 
        /// </summary>
        IDependencyLibrary Library { get; }

        IMapper Mapper { get; }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        XElement AsXml();
    }
}
